Repository navigation
Bump main to 18.11.0 after vs18.10 snap - #14564
Merged
Merged
Conversation
Phase 3 of the 18.10 release checklist (#14562). 3.1 VersionPrefix 18.10.0 -> 18.11.0. 3.2 PackageValidationBaselineVersion -> 18.10.0-1.26378.2. This is the latest Microsoft.Build package that is both published on the public dotnet-tools feed and built from a commit reachable from vs18.10 (official build 9434 run 20260728.2, sha bf5e076). 3.3 OptProfBaselineDrop refreshed to the current known-good main drop (20260724.1/14773990/1) so the next vs* branch cut from main inherits valid OptProf data and its first official build succeeds without the manual Phase 4.2 rerun. 3.4 Regenerated CompatibilitySuppressions.xml. Changing the ApiCompat baseline from 18.9 to 18.10 made the baseline-specific CP0001/CP0008/ PKV006 suppressions unnecessary, which the build treats as an error. Only those entries were removed; the unrelated PKV004 framework suppressions are untouched. Verified by a clean pack run that reports 0 errors and 0 warnings, and by confirming a control pack of unmodified main also reports 0 errors (so the churn is attributable to the baseline change, not a pre-existing failure). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 62609c67-b699-4098-997e-482f7c1253ff
ViktorHofer
approved these changes
Jul 29, 2026
left a comment
Contributor
There was a problem hiding this comment.
Pull request overview
Opens main for the next release train by bumping MSBuild’s versioning and related baselines after the vs18.10 branch snap, ensuring subsequent official builds and validation use 18.11 branding and an 18.10-based API compat baseline.
Changes:
- Update
VersionPrefixto18.11.0and movePackageValidationBaselineVersionforward to an 18.10 build (18.10.0-1.26378.2). - Refresh the hardcoded OptProf seed drop so the next
vs*branch cut frommainstarts with a valid OptProf baseline. - Regenerate/trim
CompatibilitySuppressions.xmlfiles to reflect the new ApiCompat baseline (removing now-unnecessary baseline suppressions).
Reviewed changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| eng/Versions.props | Bumps VersionPrefix to 18.11.0 and updates PackageValidationBaselineVersion to an 18.10 build. |
| .vsts-dotnet.yml | Updates OptProfBaselineDrop to a newer known-good OptimizationData drop. |
| src/Build/CompatibilitySuppressions.xml | Removes the prior PKV006 suppression; results in an empty suppressions file. |
| src/Framework/CompatibilitySuppressions.xml | Removes baseline-specific suppressions; retains framework PKV004 suppressions. |
| src/Tasks/CompatibilitySuppressions.xml | Removes baseline-specific suppressions; retains existing CP0007 and PKV004 suppressions. |
| src/Utilities/CompatibilitySuppressions.xml | Removes baseline-specific suppressions; retains framework PKV004 suppressions. |
52 of 64 tasks
This was referenced Oct 16, 2026
Closed
Closed
This was referenced Oct 19, 2026
Merged
Open
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Phase 3 of the 18.10 release checklist. Opens
mainfor 18.11 now thatvs18.10has been cut.Changes Made
3.1 —
VersionPrefix18.10.0→18.11.0.3.2 —
PackageValidationBaselineVersion→18.10.0-1.26378.2. The latestMicrosoft.Buildpackage that is both published on the public dotnet-tools feed and built from a commit reachable fromvs18.10(official build 9434 run20260728.2, shabf5e076cdd).3.3 —
OptProfBaselineDroprefreshed toOptimizationData/DotNet-msbuild-Trusted/main/20260724.1/14773990/1, so the nextvs*branch cut frommaininherits valid OptProf data and its first official build succeeds without the manual Phase 4.2 rerun.3.4 — Regenerated
CompatibilitySuppressions.xml(4 files). See below.Why the suppression files shrank
Moving the ApiCompat baseline from 18.9 to 18.10 made the baseline-specific
CP0001/CP0008/PKV006suppressions unnecessary, and the build treats unnecessary suppressions as an error. Those entries coverednetstandard2.0polyfill types (System.Index,System.Range,IsExternalInit, theSystem.Runtime.CompilerServicesattributes, …) that differed against the 18.9 baseline but no longer differ against 18.10.Only those entries were removed. The unrelated
PKV004framework suppressions are untouched — e.g.src/Frameworkstill carries all 12 of them, andsrc/Tasksall 23.Testing
Regenerated with
build.cmd -pack /p:ApiCompatGenerateSuppressionFile=true, then verified with a clean pack run (no generate flag): 0 errors, 0 warnings.Because a generation run does not prove validation passes, I also ran a control:
git stashof these changes + cleanartifacts/packages+build.cmd -packon unmodifiedmain→ 0 errors. That confirms the suppression churn is attributable to the baseline change rather than a pre-existing failure, and that nothing is being masked.scripts/Get-PackageValidationBaseline.ps1is staleThe Phase 3.2 helper cannot produce a correct answer any more and threw
No eligible candidate builds found for 18.10. It hardcodes the old package format:but
PreReleaseVersionLabelineng/Versions.propsis now1, so official builds publish as18.10.0-1.26378.2, not18.10.0-preview-26378-02. The feed confirms the switchover — the last18.10.0-preview-*was published 2026-07-10, everything since is18.10.0-1.*.The script is also stricter than the documented rule: it only accepts a build at the exact
merge-basecommit, but a branch cut minutes after a commit has no completed build at that sha yet. The checklist rule is "reachable fromvs<THIS>", which admits any ancestor.documentation/release-checklist.mdand.github/skills/release/SKILL.mdboth document the-preview-NNNNN-NNformat and need the same correction. Not fixed here to keep this PR to the branding change — happy to do it in a follow-up.